1. Field of the Invention
The present invention relates to an engine control device for controlling the operation of an engine.
2. Description of the Related Art
A conventional engine control device detects the crank angle of a crank shaft based on a crank pulse signal (or a crank signal) transferred from a crank shaft sensor and a cylinder discriminating signal (G pulse signal) transferred from a cam shaft sensor. The engine control device performs a fuel injection control and an ignition timing control for an internal combustion engine. The crank shaft sensor generates crank pulse signals based on a rotation of the crank shaft of the engine. The cam shaft sensor generates the cylinder discriminating signal based on a rotation of the cam shaft of the engine. The cam shaft rotates half (½) times per rotation of the crank shaft.
For example, the crank shaft sensor is comprised of a rotor and a pickup coil. The rotor of the crank shaft sensor is fixed to the crank shaft of the engine. The pickup coil of the crank shaft sensor detects passing of teeth formed on the rotor of the crank shaft sensor fixed to the crank shaft. The teeth are formed at 10° CA interval (CA: crank angle) on the outer peripheral surface of the rotor of the crank shaft sensor. The missing tooth location, where no tooth is formed, is located (with a predetermined number of teeth eliminated) on the outer peripheral surface of the rotor of the crank shaft sensor fixed to the crank shaft. The missing tooth location corresponds to the area for two teeth.
Accordingly, the crank shaft sensor generates the crank pulse signals every 10° CA rotation of the crank shaft (namely, of the rotor of the crank shaft sensor). In particular, the crank shaft sensor generates the crank pulse signal of 30° CA (which is three times the usual crank pulse angle of 10°) every rotation of the crank shaft passing through a special position thereof. That is, the pulse width of the crank pulse signal of 30° is a long pulse of width three times that of the usual crank pulse signal of 10° CA. Such a crank signal of a long pulse width is generated every 360° CA.
The cam shaft sensor is comprised of a rotor and a pickup coil. The rotor of the cam shaft sensor is fixed to the cam shaft of the engine. The rotor of the cam shaft sensor rotates half (½ times) per rotation of the rotor of the crank shaft. That is, the cam shaft rotates ½ times of the rotation of the crank shaft. The pickup coil of the cam shaft sensor detects the passing of one tooth formed on the outer peripheral surface of the rotor of the cam shaft sensor. Accordingly, the cam shaft sensor generates the G pulse signal every one rotation (every 720° CA) of the cam shaft (namely, of the rotor of the cam shaft sensor).
The engine control device increments the counter value of a crank counter based on the crank pulse signal. The value of the crank counter represents the rotation angle (that is, the crank angle) of the crank shaft. The engine control device performs the various controls in synchronization with the revolution of the engine.
The engine control device detects the missing tooth location of the rotor of the crank shaft sensor whether or not the crank signal indicates that the missing tooth location has passed. The engine control device determines the rotational position of the crank shaft based on the level of the G signal generated when detecting the missing tooth location. For example, when the G signal has a high level, the engine control device determines that the crank shaft is currently at the special crank position (in this case, the special crank position is X° CA). On the other hand, when the G signal has a low level other than a high level, the engine control device determines that the crank shaft is currently at a crank position that has passed from the special crank position X° CA by 360° CA.
The engine control device resets the value of the crank counter to a predetermined counter value (hereinafter, referred to as the “reference counter value”) corresponding to the special crank position X° CA every determining the passing of the special crank location during the missing tooth location detection. For example, the patent document JP 2005-133614 has disclosed the engine control device capable of performing such a control process. The control makes it possible to reset the counter value of the crank counter to a correct value corresponding to the actual crank rotational position even if the counter value of the crank counter is shifted from the actual crank position.
FIG. 7 is a timing chart that explains an error operation of a conventional engine control device for detecting the missing tooth location of the rotor of the crank shaft sensor fixed to the crank shaft of an engine.
As shown in FIG. 7, the conventional engine control device disclosed in JP 2005-133614 detects that a currently-detected pulse interval Ta indicates the missing tooth location (see the pulse PK1) when the currently-detected pulse interval Ta becomes not less than a predetermined missing-tooth-judgment-rate times (2.4 times in the case shown in FIG. 7) of the length of the previously-detected pulse interval Tb.
When a case occurs, in which noise PN is overlapped on the crank signals and a pulse interval between the continuous crank signals is thereby decreased (or becomes narrow, see the pulse interval Tc shown in FIG. 7), the pulse interval Td immediately after the previously-detected pulse interval Tc becomes not less than a length of a predetermined missing-tooth-judgment-rate times of the previously-detected pulse interval Tc. The engine control device causes an error operation to detect the missing tooth location (see the pulse PK2). As a result, this makes it difficult to correctly control the operation of the engine.
In order to avoid such a conventional problem, it is necessary to adopt a detailed detection method instead of the above detection method of simply detecting whether or not the currently-detected pulse interval becomes not less than a length of a predetermined missing-tooth-judgment-rate times of the previously-detected pulse interval Tc. Because of difficulty and complexity of realizing such a detailed detection method using hardware, it is preferred to provide the function of such a detailed detection method by software program.
However, realizing the method of detecting the missing tooth location causes a following problem.
FIG. 8 is a timing chart explaining an operation of the conventional engine control device for rewriting the counter value of the crank counter by software program. FIG. 9 is a timing chart explaining an error operation of the conventional engine control device for adjusting the counter value of the crank counter by the software program.
In the case shown in FIG. 8, the reference counter value is set to the crank counter after a predetermined period of time has elapsed (namely, at timing t11 when five rising edges of the crank signals are detected after the detection of the missing tooth location shown in FIG. 8) after the missing tooth location KH is detected. However, because of executing the software program with a high priority rather than that of the missing tooth location detection, there can occur a time delay DL before the reference counter value is completely set into the crank counter (timing t12 shown in FIG. 5).
When a software program with a high priority needs a long processing period of time or the pulse interval of the crank signals is short because the engine rotates at a high speed, as shown in FIG. 9, a next pulse interval is supplied during a period of timing t21 to timing t22, and the value of the crank counter is thereby changed, where the adjustment for the counter value of the crank counter is started at the timing t21, and the adjustment of the counter value of the crank counter has completed at the timing t22. As described above, the conventional engine control device has the problem of it being difficult to adjust the value of the crank counter to the correct value corresponding to the actual crank shaft position.